From 1c75a3ee318ab34339556f1103647e1d07d2f6ff Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild.aw" Date: Tue, 8 Aug 2006 14:40:57 -0600 Subject: [PATCH] [IA64] Virtualize dom0 lid Because dom0 can't write eid/id into iosapics, lid can be virtualized. Signed-off-by: Tristan Gingold --- xen/arch/ia64/xen/dom_fw.c | 4 ++++ xen/arch/ia64/xen/vcpu.c | 8 ++------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/xen/arch/ia64/xen/dom_fw.c b/xen/arch/ia64/xen/dom_fw.c index 19daa411ba..5eb6643959 100644 --- a/xen/arch/ia64/xen/dom_fw.c +++ b/xen/arch/ia64/xen/dom_fw.c @@ -253,10 +253,14 @@ acpi_update_lsapic (acpi_table_entry_header *header, const unsigned long end) enable = 0; if (lsapic->flags.enabled && enable) { printk("enable lsapic entry: 0x%lx\n", (u64)lsapic); + lsapic->id = lsapic_nbr; + lsapic->eid = 0; lsapic_nbr++; } else if (lsapic->flags.enabled) { printk("DISABLE lsapic entry: 0x%lx\n", (u64)lsapic); lsapic->flags.enabled = 0; + lsapic->id = 0; + lsapic->eid = 0; } return 0; } diff --git a/xen/arch/ia64/xen/vcpu.c b/xen/arch/ia64/xen/vcpu.c index a300303f76..18fd1989b8 100644 --- a/xen/arch/ia64/xen/vcpu.c +++ b/xen/arch/ia64/xen/vcpu.c @@ -763,12 +763,8 @@ UINT64 vcpu_deliverable_timer(VCPU *vcpu) IA64FAULT vcpu_get_lid(VCPU *vcpu, UINT64 *pval) { - /* Use real LID for domain0 until vIOSAPIC is present. - Use EID=0, ID=vcpu_id for domU. */ - if (vcpu->domain == dom0) - *pval = ia64_getreg(_IA64_REG_CR_LID); - else - *pval = vcpu->vcpu_id << 24; + /* Use EID=0, ID=vcpu_id. */ + *pval = vcpu->vcpu_id << 24; return IA64_NO_FAULT; } -- 2.30.2